package org.smart4j.chapter2.util;

/**
 * 转型操作工具类
 * Created by 13646223842@163.com on 2015/11/8.
 */
public final class CastUtil {
    /**
     * 转为String型
     * @param object
     * @return
     */
    public static String castString(Object object) {
        return CastUtil.castString(object,"");
    }

    /**
     * 转为String型（提供默认值）
     * @param object
     * @param defaultValue
     * @return
     */
    public static String castString(Object object, String defaultValue) {
        return object!=null?String.valueOf(object):defaultValue;
    }

    /**
     * 转为double型
     * @param object
     * @return
     */
    public static double castDouble(Object object) {
        return CastUtil.castDouble(object,0);
    }

    /**
     * 转为double型（提供默认值）
     * @param object
     * @param defaultValue
     * @return
     */
    public static double castDouble(Object object, double defaultValue) {
        double doubleValue = defaultValue;
        if (object != null) {
            String strValue = castString(object);
            if (StringUtil.isNotEmpty(strValue)) {
                try {
                    doubleValue = Double.parseDouble(strValue);
                } catch (NumberFormatException e) {
                    doubleValue = defaultValue;
                }
            }
        }
         return doubleValue;
    }
}
